home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / Xm / XmArrowButtonGadget.z / XmArrowButtonGadget
Text File  |  1998-10-30  |  22KB  |  331 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt - The ArrowButtonGadget widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           #include <Xm/ArrowBG.h>
  13.  
  14.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  15.           This page documents Motif 2.1.
  16.  
  17.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.           ArrowButtonGadget consists of a directional arrow surrounded
  19.           by a border shadow.  When it is selected, the shadow changes
  20.           to give the appearance that the ArrowButtonGadget has been
  21.           pressed in. When it is unselected, the shadow reverts to
  22.           give the appearance that the button is released, or out.
  23.  
  24.           ArrowButtonGadget holds the _X_m_Q_T_a_c_t_i_v_a_t_a_b_l_e trait.
  25.  
  26.         CCCCllllaaaasssssssseeeessss
  27.           ArrowButtonGadget inherits behavior, resources, and traits
  28.           from the OOOObbbbjjjjeeeecccctttt, RRRReeeeccccttttOOOObbbbjjjj, and XXXXmmmmGGGGaaaaddddggggeeeetttt classes.
  29.  
  30.           The class pointer is _x_m_A_r_r_o_w_B_u_t_t_o_n_G_a_d_g_e_t_C_l_a_s_s.
  31.  
  32.           The class name is XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt.
  33.  
  34.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  35.           The following table defines a set of widget resources used
  36.           by the programmer to specify data. The programmer can also
  37.           set the resource values for the inherited classes to set
  38.           attributes for this widget. To reference a resource by name
  39.           or by class in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  40.           prefix and use the remaining letters. To specify one of the
  41.           defined values for a resource in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove
  42.           the XXXXmmmm prefix and use the remaining letters (in either
  43.           lowercase or uppercase, but include any underscores between
  44.           words).  The codes in the access column indicate if the
  45.           given resource can be set at creation time (C), set by using
  46.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  47.           not applicable (N/A).
  48.  
  49.                                        XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  50.           NNNNaaaammmmeeee                       CCCCllllaaaassssssss                      TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt      AAAAcccccccceeeessssssss
  51.           XmNactivateCallback        XmCCallback                XtCallbackList   NULL         C
  52.           XmNarmCallback             XmCCallback                XtCallbackList   NULL         C
  53.           XmNarrowDirection          XmCArrowDirection          unsigned char    XmARROW_UP   CSG
  54.           XmNdetailShadowThickness   XmCDetailShadowThickness   Dimension        2            CSG
  55.           XmNdisarmCallback          XmCCallback                XtCallbackList   NULL         C
  56.           XmNmultiClick              XmCMultiClick              unsigned char    dynamic      CSG
  57.  
  58.           XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk
  59.                     Specifies a list of callbacks that is called when
  60.  
  61.  
  62.  
  63.      Page 1                                         (printed 10/24/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  71.  
  72.  
  73.  
  74.                     the ArrowButtonGadget is activated.  To activate
  75.                     the button, press and release BBBBSSSSeeeelllleeeecccctttt while the
  76.                     pointer is inside the ArrowButtonGadget.
  77.                     Activating the ArrowButtonGadget also disarms it.
  78.                     The reason sent by this callback is XXXXmmmmCCCCRRRR____AAAACCCCTTTTIIIIVVVVAAAATTTTEEEE.
  79.                     This callback uses the _X_m_Q_T_a_c_t_i_v_a_t_a_b_l_e trait.
  80.  
  81.           XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk
  82.                     Specifies a list of callbacks that is called when
  83.                     the ArrowButtonGadget is armed.  To arm this
  84.                     widget, press BBBBSSSSeeeelllleeeeccccttttwhile the pointer is inside
  85.                     the ArrowButtonGadget.  The reason sent by this
  86.                     callback is XXXXmmmmCCCCRRRR____AAAARRRRMMMM.
  87.  
  88.           XXXXmmmmNNNNaaaarrrrrrrroooowwwwDDDDiiiirrrreeeeccccttttiiiioooonnnn
  89.                     Sets the arrow direction.  The values for this
  90.                     resource are
  91.  
  92.                        +o  XXXXmmmmAAAARRRRRRRROOOOWWWW____UUUUPPPP
  93.  
  94.                        +o  XXXXmmmmAAAARRRRRRRROOOOWWWW____DDDDOOOOWWWWNNNN
  95.  
  96.                        +o  XXXXmmmmAAAARRRRRRRROOOOWWWW____LLLLEEEEFFFFTTTT
  97.  
  98.                        +o  XXXXmmmmAAAARRRRRRRROOOOWWWW____RRRRIIIIGGGGHHHHTTTT
  99.  
  100.           XXXXmmmmNNNNddddeeeettttaaaaiiiillllSSSShhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss
  101.                     Specifies the thickness of the inside arrow
  102.                     shadows. The default thickness is 2 pixels.
  103.  
  104.           XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk
  105.                     Specifies a list of callbacks that is called when
  106.                     the ArrowButtonGadget is disarmed.  To disarm this
  107.                     widget, press and release BBBBSSSSeeeelllleeeeccccttttwhile the pointer
  108.                     is inside the ArrowButtonGadget.  The reason sent
  109.                     by this callback is XXXXmmmmCCCCRRRR____DDDDIIIISSSSAAAARRRRMMMM.
  110.  
  111.           XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk
  112.                     If a button click is followed by another button
  113.                     click within the time span specified by the
  114.                     display's multiclick time and this resource is set
  115.                     to XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, the second click is not
  116.                     processed.  If this resource is set to
  117.                     XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, the event is processed and
  118.                     _c_l_i_c_k__c_o_u_n_t is incremented in the callback
  119.                     structure.  When the ArrowButtonGadget is not in a
  120.                     menu, the default value is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP.
  121.  
  122.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  123.           XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt inherits behavior and resources from the
  124.           superclasses described in the following tables.  For a
  125.           complete description of each resource, refer to the
  126.  
  127.  
  128.  
  129.      Page 2                                         (printed 10/24/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  137.  
  138.  
  139.  
  140.           reference page for that superclass.
  141.  
  142.                                                XXXXmmmmGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  143.           NNNNaaaammmmeeee                    CCCCllllaaaassssssss                   TTTTyyyyppppeeee               DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  144.           XmNbackground           XmCBackground           Pixel              dynamic                CSG
  145.           XmNbackgroundPixmap     XmCPixmap               Pixmap             XmUNSPECIFIED_PIXMAP   CSG
  146.           XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
  147.           XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             dynamic                CSG
  148.           XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C
  149.           XmNforeground           XmCForeground           Pixel              dynamic                CSG
  150.           XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
  151.           XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
  152.           XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
  153.           XmNhighlightThickness   XmCHighlightThickness   Dimension          2                      CSG
  154.           XmNlayoutDirection      XmNCLayoutDirection     XmDirection        dynamic                CG
  155.           XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE                 CSG
  156.           XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
  157.           XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
  158.           XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
  159.           XmNtraversalOn          XmCTraversalOn          Boolean            True                   CSG
  160.           XmNunitType             XmCUnitType             unsigned char      dynamic                CSG
  161.           XmNuserData             XmCUserData             XtPointer          NULL                   CSG
  162.  
  163.                                   RRRReeeeccccttttOOOObbbbjjjj RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  164.           NNNNaaaammmmeeee                   CCCCllllaaaassssssss            TTTTyyyyppppeeee        DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  165.           XmNancestorSensitive   XmCSensitive     Boolean     dynamic   G
  166.           XmNborderWidth         XmCBorderWidth   Dimension   0         N/A
  167.           XmNheight              XmCHeight        Dimension   dynamic   CSG
  168.           XmNsensitive           XmCSensitive     Boolean     True      CSG
  169.           XmNwidth               XmCWidth         Dimension   dynamic   CSG
  170.           XmNx                   XmCPosition      Position    0         CSG
  171.           XmNy                   XmCPosition      Position    0         CSG
  172.  
  173.                                   OOOObbbbjjjjeeeecccctttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  174.           NNNNaaaammmmeeee                 CCCCllllaaaassssssss         TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  175.           XmNdestroyCallback   XmCCallback   XtCallbackList   NULL      C
  176.  
  177.         CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  178.           A pointer to the following structure is passed to each
  179.           callback:
  180.  
  181.           typedef struct
  182.           {
  183.                   int _r_e_a_s_o_n;
  184.                   XEvent * _e_v_e_n_t;
  185.                   int _c_l_i_c_k__c_o_u_n_t;
  186.           } XmArrowButtonCallbackStruct;
  187.  
  188.           _r_e_a_s_o_n    Indicates why the callback was invoked.
  189.  
  190.           _e_v_e_n_t     Points to the _X_E_v_e_n_t that triggered the callback.
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                         (printed 10/24/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  203.  
  204.  
  205.  
  206.           _c_l_i_c_k__c_o_u_n_t
  207.                     This value is valid only when the reason is
  208.                     XXXXmmmmCCCCRRRR____AAAACCCCTTTTIIIIVVVVAAAATTTTEEEE.  It contains the number of clicks
  209.                     in the last multiclick sequence if the
  210.                     XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk resource is set to
  211.                     XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, otherwise it contains 1.  The
  212.                     activate callback is invoked for each click if
  213.                     XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkkis set to XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP.
  214.  
  215.         BBBBeeeehhhhaaaavvvviiiioooorrrr
  216.           XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt includes behavior from XXXXmmmmGGGGaaaaddddggggeeeetttt.  The
  217.           following list describes additional XmArrowButtonGadget
  218.           behavior:
  219.  
  220.           <<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>:
  221.                     Draws the shadow in the selected state and calls
  222.                     the callbacks for XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  223.  
  224.           <<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>> oooorrrr <<<<BBBBttttnnnn1111UUUUpppp>>>>:
  225.                     Draws the shadow in the unselected state.  If the
  226.                     pointer is within the ArrowButtonGadget, calls the
  227.                     callbacks for XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk.  Calls the
  228.                     callbacks for XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  229.  
  230.           <<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>((((2222++++)))):
  231.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, this
  232.                     action does nothing.  If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is
  233.                     XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, this action draws the shadow in
  234.                     the selected state and calls the callbacks for
  235.                     XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  236.  
  237.           <<<<BBBBttttnnnn1111UUUUpppp>>>>((((2222++++)))):
  238.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, this
  239.                     action does nothing.
  240.  
  241.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, this action
  242.                     increments _c_l_i_c_k__c_o_u_n_t in the callback structure
  243.                     and draws the shadow in the unselected state.  If
  244.                     the pointer is within the ArrowButtonGadget, this
  245.                     action calls the callbacks for XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk
  246.                     and XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  247.  
  248.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffSSSSeeeelllleeeecccctttt>>>>:
  249.                     Draws the shadow in the selected state and calls
  250.                     the callbacks for XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.  Arranges for
  251.                     the shadow to be drawn in the unselected state and
  252.                     the callbacks for XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk and
  253.                     XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkkto be called, either immediately
  254.                     or at a later time.
  255.  
  256.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffHHHHeeeellllpppp>>>>:
  257.                     Calls the callbacks for XXXXmmmmNNNNhhhheeeellllppppCCCCaaaallllllllbbbbaaaacccckkkk if any
  258.  
  259.  
  260.  
  261.      Page 4                                         (printed 10/24/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  269.  
  270.  
  271.  
  272.                     exist.  If there are no help callbacks for this
  273.                     widget, this action calls the help callbacks for
  274.                     the nearest ancestor that has them.
  275.  
  276.           <<<<EEEEnnnntttteeeerrrr>>>>:  Draws the ArrowButtonGadget shadow in its selected
  277.                     state if the pointer leaves and re-enters the
  278.                     gadget while <Btn1> is pressed.
  279.  
  280.           <<<<LLLLeeeeaaaavvvveeee>>>>:  Draws the ArrowButtonGadget shadow in its
  281.                     unselected state if the pointer leaves the gadget
  282.                     while <Btn1> is pressed.
  283.  
  284.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  285.           The bindings for virtual keys are vendor specific.  For
  286.           information about bindings for virtual buttons and keys, see
  287.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3).
  288.  
  289.      RRRREEEELLLLAAAATTTTEEEEDDDD
  290.           OOOObbbbjjjjeeeecccctttt(3), RRRReeeeccccttttOOOObbbbjjjj(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeeAAAArrrrrrrroooowwwwBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt(3), and
  291.           XXXXmmmmGGGGaaaaddddggggeeeetttt(3).
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                         (printed 10/24/98)
  328.  
  329.  
  330.  
  331.